export const nxVersion = require('../../package.json').version;

// Expo v54 versions (default for new projects)
export const expoV54Version = '~54.0.0';
export const expoV54SplashScreenVersion = '~31.0.11';
export const expoV54StatusBarVersion = '~3.0.8';
export const expoV54SystemUiVersion = '~6.0.8';
export const expoV54CliVersion = '~54.0.16';
export const babelPresetExpoV54Version = '~54.0.7';
export const expoV54MetroConfigVersion = '~54.0.9';
export const expoV54MetroRuntimeVersion = '~6.1.2';
export const jestExpoV54Version = '~54.0.13';
export const reactV54Version = '^19.1.0';
export const reactDomV54Version = '^19.1.0';
export const typesReactV54Version = '^19.1.0';
export const reactNativeV54Version = '0.81.5';
export const metroV54Version = '~0.83.0';
export const reactNativeWebV54Version = '~0.21.0';

// Expo v53 versions (for existing workspaces)
export const expoV53Version = '~53.0.10';
export const expoV53SplashScreenVersion = '~0.30.9';
export const expoV53StatusBarVersion = '~2.2.3';
export const expoV53SystemUiVersion = '~5.0.8';
export const expoV53CliVersion = '~0.24.14'; // @expo/cli
export const babelPresetExpoV53Version = '~13.2.0';
export const expoV53MetroConfigVersion = '~0.20.14';
export const expoV53MetroRuntimeVersion = '~5.0.4';
export const jestExpoV53Version = '~53.0.7';
export const reactV53Version = '^19.0.0';
export const reactDomV53Version = '^19.0.0';
export const typesReactV53Version = '~19.0.10';
export const reactNativeV53Version = '0.79.3';
export const metroV53Version = '~0.82.4';
export const reactNativeWebV53Version = '~0.20.0';

// Default exports point to v54 (latest)
export const expoVersion = expoV54Version;
export const expoSplashScreenVersion = expoV54SplashScreenVersion;
export const expoStatusBarVersion = expoV54StatusBarVersion;
export const expoSystemUiVersion = expoV54SystemUiVersion;
export const expoCliVersion = expoV54CliVersion;
export const babelPresetExpoVersion = babelPresetExpoV54Version;
export const expoMetroConfigVersion = expoV54MetroConfigVersion;
export const expoMetroRuntimeVersion = expoV54MetroRuntimeVersion;
export const jestExpoVersion = jestExpoV54Version;
export const reactVersion = reactV54Version;
export const reactDomVersion = reactDomV54Version;
export const typesReactVersion = typesReactV54Version;
export const reactNativeVersion = reactNativeV54Version;
export const metroVersion = metroV54Version;
export const reactNativeWebVersion = reactNativeWebV54Version;

// Shared versions (version-independent)
export const reactNativeSvgTransformerVersion = '~1.5.1';
export const reactNativeSvgVersion = '15.12.1';
export const testingLibraryReactNativeVersion = '~13.2.0';
export const babelRuntimeVersion = '~7.27.6';
